package com.xique.park.bean.domain;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import com.xique.common.core.annotation.Excel;

import java.util.Date;
import java.util.List;

/**
 * 车库对象 t_park_garage
 *
 * @author xique
 * @date 2021-12-09
 */
@Data
@TableName(value = "t_park_garage")
public class ParkGarage {

    private static final long serialVersionUID = 1L;

    /**
     * 自动增量
     */
    @TableId(type = IdType.AUTO)
    private Long id;

    /**
     * 车库从属
     */
    @Excel(name = "车库从属")
    private Long pid;

    /**
     * 停车场ID
     */
    @Excel(name = "停车场ID")
    private Long parkId;

    /**
     * 车库名称
     */
    @Excel(name = "车库名称")
    private String name;

    /**
     * 车库类型（0-普通1-外场 2-内场）
     */
    @Excel(name = "车库类型", readConverterExp = "0=-普通1-外场,2=-内场")
    private String type;

    /**
     * 车位总数
     */
    @Excel(name = "车位总数")
    private Long totalSpace;

    /**
     * 临时增减车位
     */
    @Excel(name = "临时增减车位")
    private Long tempEmptySpace;

    /**
     * 固定车车位
     */
    @Excel(name = "固定车车位")
    private Long monthEmptySpace;

    /**
     * 空车位数
     */
    @Excel(name = "空车位数")
    private Long emptySpace;

    /**
     * 状态（normal-启用 pause-停用）
     */
    @Excel(name = "状态", readConverterExp = "n=ormal-启用,p=ause-停用")
    private String status;

    /**
     * 表记录的状态（normal-正常 delete-删除）
     */
    @Excel(name = "表记录的状态", readConverterExp = "n=ormal-正常,d=elete-删除")
    private String recordStatus;

    /**
     * 创建人
     */
    @Excel(name = "创建人")
    private Long createUser;

    /**
     * 更新人
     */
    @Excel(name = "更新人")
    private Long updateUser;

    /**
     * 参与车位统计的车辆管理类型,0表示所有车辆管理类型都参与统计；多种类型用“,”隔开
     */
    @Excel(name = "参与车位统计的车辆管理类型,0表示所有车辆管理类型都参与统计；多种类型用“,”隔开")
    private String countSpaceMngtype;

    /**
     * 创建时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;

    /**
     * 更新时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date updateTime;

    @TableField(exist = false)
    private List<Long> garageIds;
}
